Creation, sharing and embedding of interactive charts

ABSTRACT

Systems and methods for generating and sharing interactive charts are described. The interactive charts are generated in an online portal that allows users to customize the interactive features of the chart. An online portal may also be provided to allow users to automatically embed interactive chart(s) in another website without reprogramming the code of the website each time the interactive chart(s) are changed or new interactive chart(s) are added.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 12/372,696, filed Feb. 17, 2009, which is acontinuation-in-part application of U.S. patent application Ser. No.12/205,802, filed Sep. 5, 2008 and entitled “CREATION, SHARING ANDEMBEDDING OF INTERACTIVE CHARTS,” which claims priority to U.S.provisional application Ser. No. 61/077,728, filed on Jul. 2, 2008, theentireties of which are hereby incorporated by reference.

BACKGROUND

1. Field

The subject invention relates to interactive charts and, in particular,to the creation, sharing and embedding of interactive charts.

2. Related Art

Microsoft Excel is typically used to enter data into spreadsheets andsometimes make charts or graphs from that data. Users typically enterthe data into a spreadsheet in columns and rows. Users can thenhighlight the data that they want to use to make a chart and then selecta chart type. Excel then generates the chart, which can be copied andpasted into other documents (e.g., Microsoft Word documents, web pages,portable document format files (PDFs), etc.). These charts, however, arenot interactive.

Google offers an online service that allows users to create interactivecharts using an interactive chart widget. Users enter data in an onlinespreadsheet having a look and feel similar to the Excel spreadsheet.Users can then highlight the data they want to use to make a chart andselect a chart type. The widget generates the interactive chart. Theinteractive features include a zoom feature and a mouse over pop-upwindow of data. These interactive charts can be embedded in onlinepages; however, the data in these charts is not secure because thewidget fetches data when the screen is refreshed. Any HTML programmercan easily intercept the data stream from the Goggle spreadsheet. Inaddition, when the charts are copied into other documents (e.g.,Microsoft Word documents, PDFs, etc.), the charts are no longerinteractive. In addition, other users cannot access the data associatedwith the interactive chart or copy the interactive chart for their ownuse.

SUMMARY

The following summary of the invention is included in order to provide abasic understanding of some aspects and features of the invention. Thissummary is not an extensive overview of the invention and as such it isnot intended to particularly identify key or critical elements of theinvention or to delineate the scope of the invention. Its sole purposeis to present some concepts of the invention in a simplified form as aprelude to the more detailed description that is presented below.

According to an aspect of the invention, a method is provided thatincludes sending a request from a first server to a second server toretrieve a flash file of an interactive chart, receiving the flash fileof the interactive chart from the second server at the first server, anddisplaying the interactive chart at a website hosted by the secondserver.

The request may be sent via a chart box embedded in the website. Theinteractive chart may be displayed in the chart box embedded in thewebsite.

The request may be to retrieve a plurality of flash files, each flashfile corresponding to an interactive chart, and the method may furtherinclude receiving the plurality of flash files and displaying theplurality of interactive charts.

The request may be sent each time the website is accessed. The requestmay be sent each time the website is refreshed.

According to another aspect of the invention, a method is provided thatincludes providing a tool on a first website for embedding at least oneinteractive chart in a chart box, the chart box embedded on a secondwebsite, the first website hosted by a first server that stores aplurality of interactive charts, the at least one interactive chartembedded in the chart box being one of the plurality of interactivecharts stored on the first server; and allowing a user to select atleast one of the plurality of interactive charts to be embedded in thechart box, wherein the at least one of the plurality of interactivecharts is automatically displayed in the chart box on the second websitewhen the user selects the at least one of the plurality of interactivecharts.

The user may select the at least one of the plurality of interactivecharts by dragging and dropping the at least one of the plurality ofinteractive charts into a chart box folder of the tool.

The chart box may be a flash widget.

The method may also include allowing a user to select a plurality of theplurality of interactive charts for display in the chart box on thesecond website.

The method may also include allowing a user to select a plurality ofinteractive charts to be embedded in a plurality of chart boxes on thefirst website.

The interactive chart may be automatically displayed using a data feedfrom the first web site to the second web site.

According to a further aspect of the invention, a method is providedthat includes allowing a user to drag and drop at least one of aplurality of interactive charts displayed in a user interface into achart box folder of the user interface, and transmitting the at leastone of the plurality of interactive charts from a first website to achart box embedded in a second website in response to the user droppingthe at least one of the plurality of interactive charts into the chartbox folder.

The chart box may be a flash widget.

The method may also include allowing a user to drag and drop a pluralityof the plurality of interactive charts into the chart box.

Dragging and dropping the at least one interactive chart may embed theat least one interactive chart in the second web site.

According to another aspect of the invention, a computer system isprovided that includes memory configured to store a plurality ofinteractive charts, and a processor coupled to the memory, the processorconfigured to allow a user to drag and drop at least one of theplurality of interactive charts into a chart box pane of a userinterface accessed at a first website hosted by a first server andtransmit the at least one of the plurality of interactive charts fromthe first server to a second server for display of the at least one ofthe plurality of interactive charts on a second website hosted by thesecond server.

The chart box may be a flash widget.

The processor may further allow the user to drag and drop a plurality ofthe plurality of interactive charts into the chart box.

The processor may further embed the at least one interactive chart inthe second website.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, exemplify the embodiments of the presentinvention and, together with the description, serve to explain andillustrate principles of the invention. The drawings are intended toillustrate major features of the exemplary embodiments in a diagrammaticmanner. The drawings are not intended to depict every feature of actualembodiments nor relative dimensions of the depicted elements, and arenot drawn to scale.

FIG. 1 is a block diagram of a interactive chart system in accordancewith one embodiment of the invention;

FIG. 2 is a block diagram of an illustrative interactive chartgeneration and sharing system;

FIG. 3 is a schematic view of an interactive chart in accordance withone embodiment of the invention;

FIG. 4 is a schematic view of the interactive chart of FIG. 3 inaccordance with one embodiment of the invention;

FIG. 5 is a schematic view of the interactive chart of FIG. 3 inaccordance with one embodiment of the invention;

FIG. 6 is a schematic view of the interactive chart of FIG. 3 inaccordance with one embodiment of the invention;

FIG. 7 is a schematic view of the interactive chart of FIG. 3 inaccordance with one embodiment of the invention;

FIG. 8 is a flow diagram of a process of creating, sharing and embeddingan interactive chart in accordance with one embodiment of the invention;

FIG. 9 is a schematic view of a user interface for creating, sharing andembedding an interactive chart in accordance with one embodiment of theinvention;

FIG. 10 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 11 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 12 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 13 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 14 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 15 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 16 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 17 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 18 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 19 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 20 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 21 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 22 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 23 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 24 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 25 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 26 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 27 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 28 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 29 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 30 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 31 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 32 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 33 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIGS. 34A-B are schematic views of a user interface for creating,sharing and embedding an interactive chart in accordance with oneembodiment of the invention;

FIG. 35 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 36 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 37 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 38 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIG. 39 is a schematic view of a user interface for creating, sharingand embedding an interactive chart in accordance with one embodiment ofthe invention;

FIGS. 40A-C are schematic views of a user interface for creating,sharing and embedding an interactive chart in accordance with oneembodiment of the invention;

FIGS. 41A-F are schematic views of a PDF document that includes aninteractive chart in accordance with one embodiment of the invention;

FIG. 42 is a schematic view of a webpage that includes an interactivechart in accordance with one embodiment of the invention;

FIG. 43 is a schematic view of a webpage that includes a chart box inaccordance with one embodiment of the invention;

FIG. 44 is a detailed schematic view of the chart box of FIG. 43 inaccordance with one embodiment of the invention;

FIG. 45 is a schematic vie of a portal for creating a chart box inaccordance with one embodiment of the invention; and

FIG. 46 is a schematic view of an exemplary computer system inaccordance with one embodiment of the invention.

DETAILED DESCRIPTION

Embodiments of the invention relate to an on-line service for creating,sharing and embedding interactive charts. In one embodiment, an onlineportal is provided that allows users to enter or upload data. The onlineportal or user interface allows users to drag and drop the data from adata pane to a charting pane, automatically creating the interactivechart. Exemplary interactive features include a zoom feature, a datamouse-over pop-up window, a data hide/share feature, an audio and/orvideo feature, an animation feature, a drill-down feature, a datagliding feature, etc., all of which are optionally selectable ordeselectable by the user. The user can then publish the interactivechart online or download and embed the chart into an electronicdocument, such as, for example, a PDF, .ppt, etc. file, where the chartretains its interactivity. In one embodiment, the interactive chartsthat are embedded online are searchable by search engines. Theinteractive charts and/or the data associated with the interactivecharts can also be purchased in an online store environment. Once thecharts have been purchased or otherwise shared with another user, theother user can customize the chart to have the interactive features, thedata, the look and feel, and the like that suits their needs. Theinteractive charts can also be embedded in other websites without theneed to reprogram the other websites each time an interactive chart isembedded in those websites using a chart box tool.

In the following detailed description of the present invention numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. However, it will be apparent toone skilled in the art that the present invention may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form, rather than indetail, in order to avoid obscuring the present invention.

Reference in the specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the invention. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment.

Some portions of the detailed description that follow are presented interms of algorithms and symbolic representations of operations on databits within a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of steps leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical or magnetic signals capable of being stored,transferred, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or the like, refer to the action andprocesses of a computer system, or similar electronic computing device,that manipulates and transforms data represented as physical(electronic) quantities within the computer system's registers andmemories into other data similarly represented as physical quantitieswithin the computer system memories or registers or other suchinformation storage, transmission or display devices.

The present invention also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program may be stored in a computerreadable storage medium, such as, but is not limited to, any type ofdisk including floppy disks, optical disks, compact disc read onlymemories (CD-ROMs), and magnetic-optical disks, read-only memories(ROMs), random access memories (RAMs), Erasable Programmable Read-OnlyMemories (EPROMs), Electrically Erasable Programmable Read-Only Memories(EEPROMs), magnetic or optical cards, or any type of media suitable forstoring electronic instructions, and each coupled to a computer systembus.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general-purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the required method steps. The required structurefor a variety of these systems will appear from the description below.In addition, the present invention is not described with reference toany particular programming language. It will be appreciated that avariety of programming languages may be used to implement the teachingsof the invention as described herein.

The instructions of the programming language(s) may be executed by oneor more processing devices (e.g., processors, controllers, controlprocessing units (CPUs),

An embodiment of the invention will now be described in detail withreference to FIG. 1. FIG. 1 illustrates an exemplary system 100 forgenerating the interactive charts, purchasing the interactive charts,sharing the interactive charts, and the like. The system 100 includes aserver 104, a network 108 and computers 112.

The server 104 is configured to receive requests from computers 112,process the requests and provide responses to the requests to thecomputers 112. The server 104 may include one or more server computersnetworked to one another. An exemplary server is the Apache server. Theserver 104 includes a processor 116 to execute instructions, which isconnected to memory 120 that stores data. The processor 116 executesinstructions and accesses data in the memory 120 to, for example,generate the interactive charts, modify the interactive charts, allowusers to purchase the interactive charts, share the interactive charts,and the like. It will be appreciated that the server 104 may beimplemented with any type of hardware and software, and that the server104 may have a different configuration than shown in FIG. 1. Inaddition, it will be appreciated that the server 104 may include severalserver computers connected together.

The network 108 may be any type of communications channel, a local areanetwork (LAN), a wide area network (WAN), such as the Internet, directcomputer connections, and the like. The connection may be accomplishedin a wireless manner using radio frequency, infrared, or othertechnologies, using any type of communication hardware and protocols,through other communication mediums, such as electric cable, fire opticcable, and/or through other technologies.

The computers 112 access the server 104 through the network 108. Thecomputers 112 may also communicate with one another over the network108. The computer 112 may be a server, a personal computer, a portablecomputer, a hand held device, a wireless device, and the like. Thecomputer may be a single device at a single location or multiple devicesat a single or multiple locations that are connected together using anappropriate communication protocol over any communication medium.

In one embodiment, the server 104 generates an interactive chart basedon input received from one of the computers 112 and shares theinteractive chart with users located at one of the computers 112 overthe network 108. For example, the server 104 may include a website thatis accessible by the computer 112 through a web browser located at thecomputer 112 over the network 108. The website provides the interactivechart generated by the user at computer 112, or the website provides aninteractive chart generated by another user. Alternatively, the server104 may embed the interactive chart in an electronic document (e.g.,ppt, pdf, doc, etc. file) and transmit the electronic document havingthe interactive chart to the user over the network 108 to the computer112 through the web browser located at the computer 112. In oneembodiment, the user can download the interactive chart to the computer112 from the server 104 over the network 108. The user can then embedthe interactive chart in an electronic document (e.g., ppt, pdf, doc,etc. file).

In another embodiment, the server 104 allows users at one of thecomputers 112 to purchase interactive charts over the network 108. Forexample, the server 104 may include a website that provides purchasablecharts at a computer 112 over the network 108. The user communicates arequest to purchase an interactive chart from the computer 112 to theserver 104 over the network 108. The server 104 then provides the useraccess to the interactive chart through the website or by transmitting acopy of the interactive chart to the user at the computer 112 over thenetwork 108.

FIG. 2 illustrates an interactive chart online portal 200 for generatingand sharing interactive charts according to embodiments of theinvention. The interactive chart online portal 200 may be located at theserver 100 (see FIG. 1). The interactive chart online portal 200 may beimplemented in any type of hardware and software. In one embodiment,interactive chart online portal 200 is created using a flex engine (e.g.Adobe's flash flex development platform).

The interactive chart online portal 200 includes an interactive chartgenerator 204, an interactive chart sharer 208, a user interface 212, adata store 216 and a chart template data store 220. It will beappreciated that the interactive chart online portal 200 may includefewer or additional components and may have a different arrangement thanillustrated in FIG. 2. The interactive chart generator 204 and theinteractive chart sharer 208 are functionally connected to the userinterface 212.

The user interface 212 is accessed through a website 224 which providesan online portal to the interactive chart generator 204 and theinteractive chart sharer 208. It will be appreciated that in alternativeembodiments one online portal may provide access to the interactivechart generator 204 while another online portal provides access to theinteractive chart sharer 208. Users upload or enter data at the web site224 through the user interface 212 which stores the data in the datastore 216. The interactive chart generator 204 uses the data and charttemplates stored in the chart template data store 220 to generate theinteractive charts.

The interactive chart sharer 208 is also accessed through the website224 and the user interface 212. The generated interactive chart can bepublished on an external webpage 228 as an interactive chart or a staticchart. The generated interactive chart can also be embedded in anexternal document 232 as an interactive chart or a static chart.Exemplary external documents 232 include PPT (e.g., power point)documents, PDF (e.g., Adobe) documents, DOC (e.g., Word) documents andthe like. It will be appreciated that the interactive chart can beembedded in open source versions of the external documents 232 (e.g.,Writer, Impress, etc.) or in other external document types. Thegenerated interactive chart can also be shared by allowing users topurchase the interactive charts (by providing users with a copy of theinteractive chart and/or the data associated with the interactivechart).

FIGS. 3-7 illustrate an exemplary interactive chart 300 according toembodiments of the invention. In one embodiment, the interactive chart300 is a flash file that contains code that a) renders the chart, b)obtains input from the user as per his desired action on this chart(i.e., interactivity), and c) rerenders the chart using the input asparameters. The chart data is stored within the flash file. The data istypically unencrypted but can also be encrypted. The flash file can alsofetch data, whether the data is encrypted or not, from an externalweb-site, proactively.

Online charts are created and stored online as flash files in the webportal. If a chart is embedded into a web-site, a retrieve code isembedded into that sites' HTML code that fetches the flash file from theserver when the web page of that site is requested by a user. A lot ofweb-sites today offer widgets where the embed code can be pasted intothe code, avoiding any particular knowledge of coding or HTML. If achart is updated with new data, the flash file gets recreated andstored. The next time the web page where an interactive charts has beenembedded (that is where the embed code that fetches the chart has beenimplemented) is refreshed, the updated chart is displayed. In oneembodiment, the page may be refreshed automatically for a semi-livestream of data or the data may stored separate from the flash file, theseparate data file fetched dynamically for real time feeds.

The interactive charts that are downloaded are self-contained flashfiles that can exist independent of the web portal. The user onlyrequires Adobe Reader (containing Adobe flash player) to execute thecode in the flash file. Any electronic document that can play flash canshow the interactive charts.

It will be appreciated that although the interactive chart 300 has beendescribed as a flash chart other files having similar features may beused. An exemplary program that is configured to create such a file isMicrosoft's Silverlight.

Although the interactive chart 300 shown in FIGS. 3-7 is a line graph,it will be appreciated that the interactive chart 300 may be other charttypes. Exemplary chart types include column, bar, combination, bubble,stacked, line, area, pie, doughnut, scatter, candlestick, waterfall,logarithmic, spline, radar, kagi, spark, gantt, funnel, pyramid, gauge,and the like.

As shown in FIG. 3, the interactive chart 300 includes an x-axis 304, ay-axis 308, a legend 312 having five data series 316 a-e, five chartlines 320 a-e, and a scale 324. The five chart lines 320 a-e correspondwith the five data series 316 a-e shown in the legend 312. The scale 324includes a line 328, a first end marker 332 and a second end marker 336.The interactive chart 300 also includes a function bar 338. The functionbar 338 is configured to control the interactive chart by providinginteractive commands at the function bar 338. The illustrated functionbar 338 includes the following selectable tabs: top 10 340, bottom 10344, show/hide series 348, more options 352 and audio playback 356.Comments 360, 364 are also shown on the chart 300.

As described above, the interactive chart 300 is an interactive chart.That is, the chart 300 has interactive features that allow a user tointeract with the chart to, for example, modify or change their view ofthe chart, learn more about the chart data, and the like. Exemplaryinteractive features include a zoom feature, a data mouse-over pop-upwindow, a data hide/share feature, an audio playback feature, a drilldown feature, a data gliding feature and the like. Another exemplaryinteractive feature includes a “Copy-to-my-account” feature which allowsa user to copy the chart to an account at an interactive chart,generation and sharing web portal anywhere the user sees the chartonline. When the user clicks the “Copy-to-my-account” button, the useris taken to the web portal. The user can then access his account (orcreate an account) to receive a copy of the chart. The“Copy-to-my-account” feature, therefore, enables chart proliferationoutside the web portal (at least initiation of chart proliferation). Aswill be described in further detail hereinafter, once the chart is inthe user's account, the user can modify and/or reformat the chart basedon the user's needs.

In one example of an interactive feature, FIG. 4 illustrates the datahide/share feature. In FIG. 4, the chart line 320 a is not shown in theinteractive chart (i.e., the chart line 320 is hidden). Users hide thedata series (e.g., chart line 320 a) by right clicking the data source316 a in the legend 312 and selecting the hide data source from a popupwindow that appears when the data source 316 a is right clicked. Userscan also hide the data series by selecting the show/hide series tab 348and selecting the data series associated with the data source 316a/chart line 320 a from a popup window that appears when the show/hideseries tab 348 is selected. The user can also show the data series againby right clicking the data source 316 a in the legend 312 or selectingthe show/hide series tab 348 again and selecting to show the data seriesfrom a popup window that appears.

In another example, FIG. 5 illustrates the data mouse-over pop-up windowinteractive feature. In FIG. 5, data points 500 and 504 are highlightedby mousing over or mouse clicking the data points. The user can move thepointer over the chart lines 320 a-e to show different data points inthe chart 300.

FIG. 6 illustrates the zoom interactive feature. In FIG. 6, the firstend marker 332 and second end marker 336 have been adjusted on the line328 to change the data shown in the chart 300. The user can move the endmarkers 332, 336 to any points on the line 328 to zoom and scrolldifferent portions of the chart 300.

FIG. 7 illustrates the audio playback interactive feature in furtherdetail. When a user selects the audio playback button 356, an audio file700 is played. The audio file 700 may provide an explanation of theinteractive chart 300, highlight key data points (e.g., data points 500,504), discuss the sources of data or provide other information about theinteractive chart 300. It will be appreciated that instead of an audioplayback interactive feature or in addition to the audio playbackinteractive feature, a video playback interactive feature may beprovided. A video playback button (not shown) may be provided instead ofor in addition to the playback button 356. When the video playbackbutton is selected, a video file (not shown) is played.

FIG. 8 is a flow diagram of a process of generating and sharinginteractive charts 800 according to embodiments of the invention. Itwill be appreciated that the process 800 described below is merelyexemplary and may include a fewer or greater number of steps, and thatthe order of at least some of the steps may vary from that describedbelow.

As shown in FIG. 8, the process 800 begins by generating an interactivechart (block 804) and continues by sharing the interactive chart (block808).

Generating the interactive chart 804 may include selecting a chart(block 812), uploading data or entering data (block 816), dragging anddropping data on the chart (block 820), automatically generating thechart with interactive features (block 824) and customizing theinteractive features (block 828).

Sharing the interactive chart 808 may include publishing the chart in aweb page (block 832), embedding the chart in an electronic document(block 836), downloading the chart as an interactive self-containedobject that can be embedded elsewhere, publishing the chart to thepublic section of the web portal, allowing the chart to be purchased(block 840), and/or emailing the chart (block 848). The chart may alsobe automatically updated (block 852).

FIGS. 9-39 are exemplary screen shots of the user interface 212 forinteractive chart generation and sharing. It will be appreciated thatthe screen shots are merely exemplary and that the user interface 212and online portal may have a different look and feel than shown in FIGS.9-39 and that the user interface 212 and online portal may include fewerscreens or more screens than shown in FIGS. 9-39. In addition, it willbe appreciated that the online portal may have different features orcombinations of features than those described herein.

The user interface 212 may be accessed using an Internet browser 908such as Internet Explorer, Opera, Safari, Firefox, etc. The Internetbrowser 908 includes an address box 912, a “Go” button 916, forward andbackward buttons 920, 924 and a pointer 928 that allow the user tointeract with the Internet browser 908. Users access the user interface212 by, for example, entering a web address associated with the onlineportal and user interface 212 in the address box 912 and pressing the“Enter” key on the keyboard or pressing the “Go” button 916. Users cannavigate through the website by selecting links on the web pages withthe pointer 928 and/or pressing keys on they keyboard and/or pressingthe forward and backward buttons 920, 924, as known in the art.

FIG. 9 illustrates an exemplary login screen 932 for the online portal.The login screen 932 includes a name region 936, a password region 940and a login button 944. A user enters their name in the name region 936and password in the password region 940 and presents the “enter” key onthe keyboard or selects the login button 944 to access the onlineportal. The online portal then verifies the login information providedby the user and grants the user additional access to the online portalif the verification is successful.

FIG. 10 illustrates a screen shot of a main page 1000 of the onlineportal. As shown in FIG. 10, the main page 1000 includes a “My icharts”tab 1004 and a “My Data Sheets” tab 1008. The “My icharts” tab 1004 isselected in FIG. 10 and includes an icharts list 1012, which includesthree charts 1016 a-c. The “My icharts” tab 1004 also includes a ShareAll icharts button 1020, a new ichart button 1024, a find ichart button1028 and a view icharts list button 1032.

FIG. 11 illustrates a screen shot of the My Data Sheets tab 1008. The MyData Sheets tab 1008 includes a list button 1100 and a new data sheetbutton 1104. The My Data Sheets tab 1008 includes a data sheet pane 1108that includes a list of data sheet sheets created, owned or otherwiseaccessible by the user. The My Data Sheets tab 1008 also includes aintroduction pane 1112 which includes instructions for creating a newdata sheet or modifying an existing data sheet.

FIG. 12 illustrates the online portal when the new data sheet button1104 is selected. In FIG. 12, introduction pane 1112 is replaced with anew data sheet pane 1200. The new data sheet pane 1200 includes a datasheet name region 1204, a category region 1208, a description region1212, an upload data sheet region 1216, a browse button 1220, and aninformation region 1224. Users can upload a data file from, for example,an Excel spread sheet using the upload data sheet region 1216 and thebrowse button 1216. The uploaded data is then shown in the informationregion 1224 as shown in FIG. 13. Alternatively, users can enter data bymanually entering the data directly in the information region 1224, asshown in FIG. 13.

FIG. 14 illustrates the online portal when the my icharts tab 1004 isselected. As shown in FIG. 14, when a user creates a new ichart, theonline portal includes a charting pane 1400 and a data pane 1404. Thecharting pane 1400 is used to create and preview the chart, and the datapane 1404 provides a list of data sheets. The data pane 1404 alsoincludes buttons 1408 and 1412 which allow the user to create a new datasheet or upload a data sheet, respectively, as described above. The datapane 1404 also includes selectable tabs: data list 1416, data detail1420, chart type 1424 and preview 1428. The charting pane 1400 alsoincludes the following selectable tabs: create a new ichart 1423, datasheet 1436 and preview ichart 1440.

When a user clicks on the charting pane 1400, several chart types 1500are displayed in the chart type tab 1424 of the data pane 1404, as shownin FIG. 15. Exemplary chart types 1500 include column charts, barcharts, line graphs and pie charts, as shown in FIG. 15. Other exemplarychart types 1500 not shown in FIG. 15 include, for example, combination,bubble, stacked, area, doughnut, scatter, candlestick, waterfall,logarithmic, spline, radar, kagi, spark, gantt, funnel, pyramid, gauge,and the like.

When a user selects a chart type 1500, a blank charting area is shown inthe charting pane 1400, as shown in FIG. 16. The user then selects datafrom the data pane 1404 in the detailed data tab 1420 by clicking on thedata with the mouse. The user continues to click on the data and dragsand drops the data from the data pane 1404 and onto the chart pane 1400by moving the pointer 928 from the data pane 1404 to the chart pane 1400and releasing the mouse button (i.e., the user drag and drops data fromthe data pane 1404 to the chart pane 1400). In particular, the userdrags and drops data onto the x-axis for x-axis data, and drags anddrops data onto the y-axis for y-axis data.

As shown in FIG. 16, when the chart type 1500 is selected, the onlineportal includes selectable buttons: new 1604, save 1608, save as preset1612, publish 1616, share ichart 1620, reset layout 1624, and customizeichart 1628. The online portal also includes a scale 1632.

When the user drags and drops the data on the chart pane 1400, aninteractive chart 1700 is automatically generated as shown in FIG. 17.The interactive chart has interactive features as described above withreference to FIGS. 3-7. The audio playback interactive feature can beadded by recording an audio file using the online portal or uploading anaudio file to the online portal. The audio playback interactive featurecan be added before the chart is automatically generated or after thechart is automatically generated. Similarly, the video playbackinteractive feature can be added by recording a video file using theonline portal or uploading a video file to the online portal. The videoplayback interactive feature can also be added before the chart isautomatically generated or after the chart is automatically generated.

The user can then manipulate the chart 1700 to have the look and feeland interactive features that the user desires as shown in FIGS. 18-21.In FIG. 18, the legend 1800 is moved from on top of the chart 1700 to adifferent region and the size of the legend 1800 is modified. As shownin FIG. 19, when a user right clicks on the chart 1700, a popup window1900 is formed on the charting pane 1400. The illustrated popup window1900 includes the following options: format slice, label position, hideslice, remove pie series, detach slice, format data tips, and shadowoff. If a user selects the select label position as shown in FIG. 20, aselect label position popup window 2000 appears. The illustrated popupwindow 2000 includes the following options: none, callout, inside,inside with callout, and outside. As shown in FIG. 21, if a user rightclicks on the legend 1800, a popup window 2100 appears. The popup window2100 includes the following options: format slice and hide slice. Itwill be appreciated that the options that appear in the popup windowswill vary depending on the chart type (i.e., line graphs have differentoptions than bar graphs which have different options than the piechart).

When a user has completed customization of the chart 1700, the user canpreview the chart 1700 by selecting the preview ichart tab 1440 or thepreview ichart tab 1428 as shown in FIG. 22. The chart 1700 is aninteractive chart as described above with reference to FIGS. 3-7.

In one embodiment, users can store the chart 1700 as a chart template byselecting the save as preset button 1612. Chart templates allow theusers to create interactive charts in the future that have the same lookand feel as the generated chart 1700.

As shown in FIG. 23, the user can modify the chart type, by selectingthe chart tab 2300 and then selecting a different chart type 1500. Thechart is automatically updated. For example, in FIG. 23 by selecting thebar chart type 1500 from the chart type tab 1424 in the data pane 1404,the chart type is automatically changed from a pie chart to a bar chart.

Users can also modify existing charts, as shown in FIGS. 24-27. Userscan access charts to modify by selecting the my icharts tab 1004 toreturn to the main page 1000 of the online portal (shown in FIG. 10) andselecting one of the charts 1016 a-c to modify. For example, as shown inFIG. 24, the chart 2400 can be modified by selecting the edit button2404, duplicate button 2408, delete button 2412, share button 2416 orembed button 2420. If the user selects the copy button 2408 or the editbutton 2404, the selected chart is then displayed as shown in FIG. 25.The user can then select the data 2500 in the data pane 1404 or thechart in the charting pane 1400 to modify the chart. Users can also editor update the data sheet in the charting pane, as shown in FIG. 26. Inaddition, users can modify the chart 1700 by adding a comment 2700 asshown in FIG. 27. Users can also modify the look and feel of the chart.The user can change the colors, fonts, locations of certain features,etc., based on the user's preferences. For example, corporations thathave certain colors associated with their business (e.g., Best Buy'scolors are blue and yellow, CocaCola's colors are red and white, Pepsi'scolors are red and blue) can modify the colors of the interactive chartto reflect the corporation's colors.

As shown in FIG. 28, the user can also customize the chart by selectingthe customize chart button 1628. When the customize chart button isselected, a popup window 2800 is displayed. The popup window 2800includes the following selectable options: provide dynamic tips onindividual data points, allow viewer to scale to individual data ranges,allow viewer to show/hide individual data series, change content of“about this ichart”, allow viewer to copy ichart to his account, allowviewer to see the related data sheet, allow viewer to hide legend, allowviewer to hide data tips, and allow viewer to hide comments.

The interactive charts can also be shared using the online portal. Forexample, users can select to share the chart with other registered usersof the online portal by selecting the share ichart button 1620. When theshare ichart button 1620 is selected, the popup window 2900 is accessed,as shown in FIG. 29. The user can enter the user names with whom theywant to share the ichart. The user can also share the chart 1700 bypublishing the chart, as shown in FIG. 30, by selecting the publishbutton 1616. As shown in FIG. 30, a popup window 3000 is accessed whenthe publish button 1616 is selected. The popup window 3000 includes thefollowing options: embed ichart, download ichart as interactive objectfor embedding into pdf or PowerPoint, download ichart as static image(GIF), download ichart as static image (JPG), download ichart as staticimage (TIFF), download ichart as static image (PDF), send link to ichartvia email.

If the user chooses to embed the ichart, the popup window 3100 isdisplayed as shown in FIG. 31, which includes code for embedding thechart. If the user chooses to email the ichart, the popup window 3200 isdisplayed as shown in FIG. 32. The popup window includes a recipientemail region 3204 for entering recipient emails and a message region3208 for providing a message to the recipient. The users can select toembed the object as a code snippet or download or embed as aninteractive object. The chart may be part of a portal or script. Theuser can then publish the chart online or download and embed the chartinto for example a PDF, .ppt, etc. file. The chart that is embedded orpublished can be interactive, and can, optionally, be updatedautomatically. For example, if the chart is embedded in an onlineportal, the user can upload additional data to update the chart in theonline portal. Users can also copy, share or embed charts using thebuttons 2408, 2416 and 2420 shown in FIG. 24.

FIG. 33 illustrates an online store environment 3300 of the onlineportal 200. The online store environment 3300 includes a charts tab3304, a community tab 3308 and a myicharts tab 3312. The online storeenvironment 3300 also includes a search box 3316 and a create yourichart button 3320. The charts tab 3304 includes a categories region3324 that includes a list of categories 3328 and a charts region 3332and a list of charts 3336.

Users can search the charts in the online store environment 3300 usingthe search box 3316 because the interactive charts are searchable. Asdescribed above, the charts are flash objects. When the flash objectsare generated searchable tags are also generated. The chart may alsoinclude a detail page that contains rich tagging, which is alsosearchable (see FIG. 36 below).

When a user selects one of the charts 3336 from the charts region 3332,the user is presented with a detailed view 3400 of the selected chart3336 as shown in FIGS. 34A-34B. The detailed view 3400 includes thechart 3336 and a description of the chart 3404, as shown in FIG. 34A,and a purchase area 3408 that includes a list of purchase options 3412,a related charts section 3416 and a more from the author region 3420, asshown in FIG. 34B. The purchase options 3412 include a pdf report thatincludes the interactive chart, the chart, or the data.

When a user selects to purchase the chart, report and/or data throughone or more of the purchase options 3412, the chart is added to themyicharts page 3500 (associated with the myicharts tab 3312), as shownin FIG. 35. The myicharts page 3500 includes a list of charts 3504 thatincludes charts created by the user, purchased by the user or otherwisereceived by or shared with the user. The purchased chart, report and/ordata can then be modified, shared, published, embedded, etc. by thepurchaser.

FIG. 36 illustrates a screen shot of publish function 3600 for aninteractive chart that has been modified. As shown in FIG. 36, when auser selects to publish the chart, the popup window 3604 is displayed.The popup window 3604 includes the option to republish the chart 3608 orstop publishing the chart 3612. If the user selects the option torepublish the chart 3608, the user can select to list the chart in theonline portal and/or automatically republish the chart if changes aremade. The republish option 3608 therefore allows users to update theinteractive charts that are embedded online. If the user selects theoption to stop publishing the chart 3612, websites where the chart hasbeen embedded show a message that the chart has been removed. The popupwindow 3504 may also include the embed code for the chart 3616 and/orthe URL (uniform resource locator) for the net portal where the chart islocated 3620.

FIG. 37 illustrates a screen shot of a list of charts 3700. Users canselect each chart in the list 3700 to access a detailed page about thatchart. The interactive charts that are published by the user from theonline portal using the Publish function (see FIG. 36) have a detailpage assigned on the web portal. FIG. 38 illustrates a detail page 3800for an exemplary interactive chart 3804. As shown in FIG. 38, users canleave comments on the detail page 3800. Other charts from same user areshown on the detail page 3800, as well as related charts (e.g., based oncharts tags and content).

The detail page is automatically search engine optimized by pullingchart content (title, comment, labels) into invisible tags that areembedded onto the page (not visible for the user). Once this page getsis indexed by a search engine, such as Google et al, the tags are pickedup and the chart becomes searchable. As described above, the chart flashobject itself also contains tags. Search engines that are configured tosearch and index flash content can index the charts making the chartsthemselves searchable on pages where the chart has been embedded.

FIG. 39 illustrates a screen shot of an about the chart function 3900.When a user selects an “About” button on an interactive chart, the popupwindow 3900 is displayed. The popup window 3900 includes an aboutsection 3904 which provides detailed information about the chart whichcan be added by the user during or after chart generation. The popupwindow 3900 also includes a copyright section 3908 which includescopyright information about the interactive chart.

The interactive chart also includes a “Copy-To-My-Account” function thatis enabled by the owner of the chart. If a visitor uses this function, acopy of the chart is created in the user's account. The user can thenedit and republish the chart (using, for example, different formats andcolors). This feature can be useful when a user wants to reuse a chartbut use the user's own look & feel.

FIGS. 40A-C illustrate a chart template feature for automaticallymodifying a chart by selecting a preset chart template. For example,FIG. 40A illustrates a chart 4004 that has a first look and feel. Asshown in FIG. 40B, a user can select the preset tab 4008 which includesseveral selectable preset chart templates 4012. If a user selects one ofthe preset chart templates 4012, the chart 4004 is automatically updatedto have the look and feel as the selected preset template chart 4012, asshown in FIG. 40C. The preset chart templates 4012 store formattingsettings, such as colors, chart size, fonts, line thickness, etc., as aset. A preset can be created by saving any chart as a preset.

One use for the interactive charts described herein is PDF reports.FIGS. 41A-41F illustrate an exemplary PDF report 4100 that includesinteractive charts 4104 a-d. FIGS. 41E-F illustrate exemplaryinteractive features 4008 of the interactive chart 4104 d. For example,in FIG. 41E, the interactive features include the data mouse over pop upwindow feature. In FIG. 41F, users can copy the chart or modify thechart in other ways by selecting the more options button 4112.

In one embodiment, the PDF report 4100 is generated by the user. Theuser downloads the chart as a flash file and then embeds the flash fileinto the PDF document using standard functions and features.

In one embodiment, a PPT document that includes an interactive chart isgenerated using a live cycle data services (i.e., flex data services) ofa flex engine. The live cycle data service includes an API forgenerating PPT documents by merging client data or graphics withtemplates stored on the server. Alternatively, the PPT file can becreated by the user by downloading the chart as a flash file and thenembedding the flash file into the PPT document using standard functionsand features.

FIG. 42 illustrates a webpage 4200 having an interactive chart 4204embedded therein. A web developer can copy the code for the chart toembed the chart as described above.

When the data for the interactive chart is updated in the online portal,the chart on the web page is automatically updated. For example, thedata on the webpage can be updated using a new flash file. If embed codehas been implemented in a web page, the web page fetches the new flashfile from the server and displays it. When the user refreshes the webpage, the new flash chart is displayed. In another example, the data onthe webpage can be updated using a data feed (e.g., RSS feed, Atom Feed,etc.). In another example, if the online portal is a flex engine thatincludes live cycle data services (i.e., flex data services), the onlineportal has data management and messaging services that can automaticallytrack changes and publishes the changes in the document or on the webpage.

Because the interactive chart includes tags, the chart can be indexed bya search engine. Thus, the charts are searchable by search engines. Thesearch engine crawls the website having the interactive chart, indexesthe website and tags associated with the chart and stores the tags in asearchable database as known in the art.

FIG. 43 illustrates an exemplary screen shot of a business servicesapplication website 4300 according to one embodiment of the invention.The illustrated website 4300 includes a chart box 4304, shown in furtherdetail in FIG. 44. Referring to FIGS. 43 and 44, the chart box 4304 isconfigured to be embedded on a website to display one or moreinteractive charts on that website. The chart(s) are added to the chartbox using a chart box tool provided by another website that allows usersto generate, purchase or otherwise manipulate and select the interactivechart(s). For example, a blogger can embed the chart box on their blogwebsite and automatically update the charts displayed in the chart boxwithout reprogramming the website for their blog using another website.In another example, a financial institution can include multiple chartboxes into multiple pages of their website, each chart box includingdifferent types of interactive chart(s). The chart box 4304, therefore,allows users or businesses with large amounts of data to easily andflexibly display varying charts on their website without the need forprogramming.

In one embodiment, the chart box 4304 is a flash widget. The chart box4304 may be embedded once using an embed code onto a customer site. Theembed code for the chart box 4304 may include retrieve code to fetch theinteractive chart(s) selected for the chart box 4304 embedded in thecustomer site. Alternatively, the embed code may include a data feed,such as an ATOM feed, RSS feed, XML feed, etc., that is used toautomatically update the interactive chart(s) displayed in the chart box4304. The chart box 4304 may be customizable (e.g., fonts, style, size,color and the like).

The illustrated chart box 4304 includes a viewing pane 4306 configuredto display an interactive chart 4308. The chart box 4304 also includesmultiple interactive charts 4312 in a chart selection pane 4314. Each ofthe interactive charts 4312 may be selected for display in the viewingpane 4306. As shown in FIGS. 43 and 44, the chart box 4304 may allow fora user to scroll through multiple interactive charts 4313 for display inthe viewing pane 4306 using a page selection tool 4316 or scrollingarrows 4318. It will be appreciated that the chart box 4304 may have adifferent configuration than illustrated and described above. Forexample, the chart box 4304 may only have a viewing pane 4306 that isconfigured to display one interactive chart 4308 or multiple interactivecharts 4312.

As shown in FIG. 45, a user interface 4500 may be provided on the samewebsite that allows for generation or purchase of interactive charts oron another website coupled to a server that includes several interactivecharts that can be selected for display in the chart box 4304. A usermay select possible interactive charts for inclusion in the chart box4304 using the toolbar 4504. The user may use a charting pane 4508 toview and/or browse the interactive charts 4512 that can be selected fordisplay in the chart box 4304. The user interface also includes a chartbox region 4516 that includes a chart box folder 4520. The chart boxfolder 4520 is connected to the chart box 4304 such that the retrievecode for data feed displays the interactive chart(s) selected by theuser in the chart box folder 4520. The user can select the interactivechart(s) for display in the chart box 4304 by, for example, dragging anddropping one or more of the charts 4512 onto the chart box folder 4520.When the user drops the selected chart(s) 4512 onto the chart box folder4520, the chart is automatically displayed in the chart box 4304embedded on the user's website.

It will be appreciated that in order to develop and incorporate theinteractive charts conventionally, a programmer must be hired to developthe chart, link it to a data source and embed it onto the web-site. Thecost to pay a programmer to build and embed a new interactive chart on awebsite can be $5,000 to $25,000, depending on the complexity of chart.In contrast, by embedding the charts with the chart box 4304 in thewebsite and using the chart box tool 4500, no programming is required toembed charts in the website. In addition, the number of charts that canbe displayed using the chart box 4304 is unlimited. In order to changethe charts displayable in the chart box, no programming is requiredbecause a user only needs to drag and drop the chart(s) using the tool4500. The costs are therefore a fraction of the present cost,effectively removing a barrier to more visual data content on the web.

FIG. 46 shows a diagrammatic representation of machine in the exemplaryform of a computer system 4600 within which a set of instructions, forcausing the machine to perform any one or more of the methodologiesdiscussed herein, may be executed. In alternative embodiments, themachine operates as a standalone device or may be connected (e.g.,networked) to other machines. In a networked deployment, the machine mayoperate in the capacity of a server or a client machine in server-clientnetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment. The machine may be a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a network router, switchor bridge, or any machine capable of executing a set of instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.

The exemplary computer system 4600 includes a processor 4602 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 4604 (e.g., read only memory (ROM), flash memory,dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) orRambus DRAM (RDRAM), etc.) and a static memory 4606 (e.g., flash memory,static random access memory (SRAM), etc.), which communicate with eachother via a bus 4608.

The computer system 4600 may further include a video display unit 4610(e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). Thecomputer system 4600 also includes an alphanumeric input device 4612(e.g., a keyboard), a cursor control device 4614 (e.g., a mouse), a diskdrive unit 4616, a signal generation device 4620 (e.g., a speaker) and anetwork interface device 4622.

The disk drive unit 4616 includes a machine-readable medium 4624 onwhich is stored one or more sets of instructions (e.g., software 4626)embodying any one or more of the methodologies or functions describedherein. The software 4626 may also reside, completely or at leastpartially, within the main memory 4604 and/or within the processor 4602during execution thereof by the computer system 4600, the main memory4604 and the processor 4602 also constituting machine-readable media.

The software 4626 may further be transmitted or received over a network4628 via the network interface device 4622.

While the machine-readable medium 4624 is shown in an exemplaryembodiment to be a single medium, the term “machine-readable medium”should be taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” shall also be taken to include any medium thatis capable of storing, encoding or carrying a set of instructions forexecution by the machine and that cause the machine to perform any oneor more of the methodologies of the present invention. The term“machine-readable medium” shall accordingly be taken to include, but notbe limited to, solid-state memories, optical and magnetic media, andcarrier wave signals.

It should be understood that processes and techniques described hereinare not inherently related to any particular apparatus and may beimplemented by any suitable combination of components. Further, varioustypes of general purpose devices may be used in accordance with theteachings described herein. It may also prove advantageous to constructspecialized apparatus to perform the method steps described herein. Thepresent invention has been described in relation to particular examples,which are intended in all respects to be illustrative rather thanrestrictive. Those skilled in the art will appreciate that manydifferent combinations of hardware, software, and firmware will besuitable for practicing the present invention.

The present invention has been described in relation to particularexamples, which are intended in all respects to be illustrative ratherthan restrictive. Those skilled in the art will appreciate that manydifferent combinations of hardware, software, and firmware will besuitable for practicing the present invention. Moreover, otherimplementations of the invention will be apparent to those skilled inthe art from consideration of the specification and practice of theinvention disclosed herein. Various aspects and/or components of thedescribed embodiments may be used singly or in any combination. It isintended that the specification and examples be considered as exemplaryonly, with a true scope and spirit of the invention being indicated bythe following claims.

What is claimed is:
 1. A system for presenting interactive chart data,the system comprising: a processor; a user interface generated by theprocessor executing instructions stored in memory, the user interfacereceiving a first data selection and a first chart selection, the firstdata selection including a first data set from a data store, the firstchart selection including a first chart template; a chart generatormodule stored in memory and executed by the processor thereby generatingan embed code having markup data; and a chart sharing module stored inmemory and executed by the processor that transmits at least the embedcode to a user device that is associated with sharing of interactivechart data, wherein insertion of the embed code into a digital filemodifies the digital file so that rendering the digital file includesrendering the first data set within the first chart template therebyrendering an interactive chart that retains interactivity, whereinrendering the interactive chart further includes: receiving a seconddata selection including a second data set, the second data set beingfrom the data store, and updating the interactive chart by rendering atleast the second data set within the first chart template.
 2. The systemof claim 1, wherein the user interface includes an online storeinterface, and wherein the first data selection and the first chartselection are part of a purchase order received from the user device. 3.The system of claim 1, wherein execution of the chart generator moduleby the processor generates the digital file in addition to the embedcode, and further inserts the embed code into the digital file.
 4. Thesystem of claim 1, further comprising a server coupled to a network,wherein the data store is at least partially stored on the server, andwherein the server is communicatively coupled via the network to anetwork communication module coupled to the processor.
 5. The system ofclaim 1, wherein the data store includes data fetched from one of anexternal website, a data feed, or a file stored separately from theinteractive chart.
 6. The system of claim 1, wherein the second data setis one of an updated version of the first data set or a set of edits tobe made to the first data set, the second data set based on changes indata stored within the data store, the changes occurring between thefirst data selection and the second data selection.
 7. The system ofclaim 1, wherein the first data set includes a plurality of data series,such that each data series of the plurality of data series isrepresented as a visually distinct chart element of a plurality ofvisually distinct chart elements in the interactive chart, such thateach visually distinct chart element of the plurality of visuallydistinct chart elements is represented in the interactive chart as oneof a line of a line graph, a bar of a bar graph, or a segment of a piegraph.
 8. The system of claim 1, wherein the digital file is amarkup-based website file stored at a website server, the website serveraccessed by a rendering device that then renders the chart-embeddedfile.
 9. The system of claim 1, wherein the digital file is anelectronic document, such as a word processor document, a presentationdocument, or a Portable Document Format (PDF) document.
 10. The systemof claim 1, wherein the first chart template is associated with a firstchart type, wherein the first chart type is one of a bar graph, a linegraph, a pie chart, or some combination thereof.
 11. A system forpresenting interactive chart data, the system comprising; a processor; auser interface generated by the processor executing instructions storedin memory, the user interface receiving a first data selection and afirst chart selection, the first data selection including a first dataset from a data store, the first chart selection including a first charttemplate; a chart generator module stored in memory and executed by theprocessor thereby generating an embed code having markup data; and achart sharing module stored in memory and executed by the processor thattransmits at least the embed code to a user device that is associatedwith sharing of interactive chart data, wherein insertion of the embedcode into a digital file modifies the digital file so that rendering thedigital file includes rendering the first data set within the firstchart template thereby rendering an interactive chart that retainsinteractivity, wherein rendering the interactive chart further includes:receiving a second chart selection including a second chart template,and updating the interactive chart by rendering the first data setwithin the second chart template.
 12. The system of claim 11, whereinthe user interface includes an online store interface, and wherein thefirst data selection and the first chart selection are part of apurchase order received from the user device.
 13. The system of claim11, wherein execution of the chart generator module by the processorgenerates the digital file in addition to the embed code, and furtherinserts the embed code into the digital file.
 14. The system of claim11, further comprising a server coupled to a network, wherein the datastore is at least partially stored on the server, and wherein the serveris communicatively coupled via the network to a network communicationmodule coupled to the processor.
 15. The system of claim 11, wherein thedata store includes data fetched from one of an external website, a datafeed, or a file stored separately from the interactive chart.
 16. Thesystem of claim 11, wherein the first data set includes a plurality ofdata series, such that each data series of the plurality of data seriesis represented as a visually distinct chart element of a plurality ofvisually distinct chart elements in the interactive chart, such thateach visually distinct chart element of the plurality of visuallydistinct chart elements is represented in the interactive chart as oneof a line of a line graph, a bar of a bar graph, or a segment of a piegraph.
 17. The system of claim 11, wherein the first chart template isassociated with a first chart type and the second chart template isassociated with a second chart type, wherein the first chart type andthe second chart type are each one of a bar graph, a line graph, a piechart, or some combination thereof.
 18. The system of claim 17, whereinthe first chart type is distinct from the second chart type.
 19. Thesystem of claim 11, wherein the digital file is one of a website file oran electronic document file.